/*function TreeLinkNode(x){
    this.val = x;
    this.left = null;
    this.right = null;
    this.next = null;
}*/
function GetNext(pNode)
{
    // write code here
    // 中序遍历 先左节点 后根节点 后右节点
    // 如果 右子树存在 遍历得到右子树的最左边的节点
    // 如果 右子树不存在 那么就要向上找 如果该节点位移父节点的右节点 那就需要找父节点的 父节点 并判断 这个节点是不是他父节点的左连接  如果是左连接 才算是找到了这个遍历的下一个节点
    if(pNode.right){
      var node = pNode.right
      while(node.left){
        node = node.left
      }
      return node
    }else{
      while(pNode.next){ // 当亲节点的父节点存在
        var parent = pNode.next // 让父节点是当前节点等父节点
        if(parent.left === pNode){ // 判断父节点的左节点是不是当前节点 如果是就返回父节点
          return parent
        }
        pNode = pNode.next // 如果不是 就让pnode上移
      }
      return null
    }
}
module.exports = {
    GetNext : GetNext
};